home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 July / macformat-026.iso / mac / Shareware City / Utilities / File Safari ƒ / Release Note.c < prev   
Encoding:
Text File  |  1995-02-23  |  13.2 KB  |  246 lines  |  [TEXT/MMCC]

  1. /*
  2.  
  3. Release of 1.0.3 — 95\02\23.
  4.  
  5.  
  6. Changes in 1.0.3b1 — 95\02\13:
  7.   —Added Recent Search Dirs menu item. Any search dir used from the Other…
  8.    button or by drag & dropping a volume will be added to this submenu and
  9.    will stick around until the program quits. { Requested by MetaTheory. }
  10.   —The main window is now wider (640), unless the screen is <640 wide, then
  11.    it’s the old width. { Requested by MetaTheory. }
  12.   —Had bug report { Per.Mildner } of address 0 being dereferenced in
  13.    ABOUTVERSUSERITEM when it called pstrcpy, but I couldn’t find anything
  14.    wrong, unless the handle returned from GetResource was NULL. So I put in
  15.    a check for that and passed the shortVers directly to TextBox instead of
  16.    pstrcpy'ing it to another variable, which was senseless to begin with.
  17.   —Fixed a Balloon Help typo.
  18.   —Had a request to add each file’s full pathname to the export file. No,
  19.    it wouldn’t take much to do it, but it would make the export file a lot
  20.    harder to read, and the existing code is very clean. And since this is
  21.    the only request for this feature, I’m opting not to do it.
  22.   —No events could be processed after choosing “Hide File Safari” from the
  23.    app menu after initiating a search. Setting the doesActivateOnFGSwitch
  24.    bit in the ‘SIZE’ fixed it (but doesn’t make sense).
  25.   —Added Command–S key equiv to Get Other Search Dir… custom get file
  26.    box to select the Select button.
  27.  
  28.  
  29. Changes in 1.0.2 — 95\02\10 (daytime, normal person hours):
  30.   —Found and fixed a bug where FS would crash after sending the ÆOpenDoc
  31.    to the editor (in this case, MuffEdit) and THEN tried opening the file
  32.    to find the line number, even though MuffEdit doesn’t support goto–line
  33.    Æ’s. Now I get the line number *before* sending the openDoc Æ and then
  34.    check to see if the editor handles goto–line Æ’s and only send it if
  35.    it does. Cripes, I hate finding these things after distributing an app
  36.    all over the damned world. I think I’ll wait a few days before releasing
  37.    1.0.2, just in case more bugs are found, but of course there aren’t any
  38.    more because I’m so goll durn optimistic! :) { Bug found by MetaTheory. }
  39.  
  40.  
  41. Changes in 1.0.1 — 95\02\10:
  42.   —Fixed bug where I tried to get the line number of a match when it was
  43.    in a rez fork. Now the “Line Number” menu item is disabled and says
  44.    “N/A” when a rez file match is clicked on. Yes, I ended that sentence
  45.    with a preposition.
  46.   —Added more tests if a file was found during the search but can’t be
  47.    found when clicked on.
  48.  
  49.  
  50. Changes in 1.0 — 95\01\26 — final release:
  51.   —Search buttons weren’t being updated when user did a Paste.
  52.  
  53.  
  54. Changes in 1.0b6 — 95\01\15:
  55.   —I was messing around with passing NULL in some parms of GetDialogItem.
  56.    This worked fine on my IIci with 7.1, but I had a report from MetaTheory
  57.    who was running EvenBetterBusError that I was writing to NIL. Thanks to
  58.    that EBBE, I found the problem was me passing NULL to GDI. Fixed that.
  59.    Also found a few others.
  60.   —Added a pref to save the position of the window.
  61.   —Fixed something in TE32K where the top of the results text would be
  62.    scrolled off the bottom of the window while lines of text were being
  63.    added during a search.
  64.   —Fixed handling of the results scrollbar thumb so the correct value is
  65.    calculated as a long instead of a short.
  66.   —Added extra call to smallEvent to catch aborts earlier.
  67.   —Forgot to SetPort the about box.
  68.   —Fixed bug in findAppInDesktops where an entry was found in the Desktop
  69.    database, but the file no longer existed on the volume, so it skips that
  70.    volume and searches the next.
  71.   —Added code to send the appropriate goto–line Apple® Event to the text
  72.    editor so the double–clicked line will be brought into view. So far the
  73.    only goto–line Æ’s implemented are for 68k and PPC MW C/C++ and Pascal
  74.    and BBEdit (the only editors I could find around here that support
  75.    goto–line Æ’s).
  76.  
  77.  
  78. Changes in 1.0b5 — 94\12\30:
  79.   —If the openDoc Æ can’t be sent to an application for some reason, I now
  80.    ask the user if they want to use their TEXT Editor to view the file.
  81.   —Added Hex Search button.
  82.   —Added 1st Occurance Only option.
  83.   —Amalgamated all search options into a single Options popup menu in the
  84.    main window to declunkify the interface.
  85.   —Changed flags pref into a different format that’s more easily updated in
  86.    future versions (a long instead of a bunch of Booleans). Also, old Pref’s
  87.    files won’t lose the user’s settings when it’s updated to a new version.
  88.    And it’s smaller.
  89.   —Added test for files not being able to be opened and ask user if they want
  90.    to skip the file and continue or not.
  91.      —Added a beep when the search has completed.
  92.      —Added pref for keeping the last Search Dir chosen from the popup menu or
  93.    if the user selects Add Current Search Dir. Search Dir’s chosen by any
  94.    other means won’t be remembered. I prefer doing it this way rather than
  95.    saving yet another alias.
  96.      —Changed the way I keep track of found files. Used to just keep the parID
  97.    and name. Now I just keep the parID, index, and vRefNum which takes less
  98.    memory and so I can…
  99.      —Now show the full pathname, type, and creator of clicked–on files in the
  100.    results list. Also changed the font of the file name item to Geneva
  101.       because Monaco was too long for deep folders. This is only an Str255, but
  102.    it seems to be long enough even for deep folders on CW/4.
  103.   —Added secret option for power users to skip or include searching the
  104.    resource header, data reserved for system, and application data portions
  105.    of resource files. I was finding some sort of left over garbage in the
  106.    rez fork of an alias file (in the reserved system data area), so I
  107.    decided to skip searching the entire area. But what if some app stores
  108.    data in the application data area, such as passwords and stuff? This is
  109.    why I made it a secret option. This file will be the only place it will
  110.    be mentioned. So only people who read this file will know about it, or
  111.    people who happen to hold down the Option key while clicking in the
  112.    Search Options popup. (Hint; that's how you turn the option on and
  113.    off.:) It’s default state is on, rez header+ skipped.
  114.   —Changed the way the main window works. Added a little triangle PICT item
  115.    that toggles the search result items. I did this for a couple reasons:
  116.    ◊Faster window updating if File Safari is kept hanging around while
  117.     using other app’s. Just hide the result items when not in use.
  118.    ◊Thinking about adding boxes for the clicked–on file’s Type, Creator,
  119.     and the offset of the match in the file. These extra items would make
  120.     more clutter, which would make reason #1 more attractive.
  121.    ◊I’ve never used AppendDITL before, so it was good practice. :)
  122.  —Added a total files searched item.
  123.  —Replaced all calls to CallUserItemProc with the actual function calls
  124.   they contain. (New habits are hard to break.;)
  125.  —Fixed some things in the search code. Tested it with a file of buffSize
  126.   length. It now finds only one match if the search string is right at the
  127.   end of the buffer. I was also doing the same long calculation twice, so
  128.   I replaced that with a local var (but CodeWarrior was probably optimizing
  129.   that on its own).
  130.  —Instead of adding the Type, Creator, and offset boxes, I added a popup
  131.   that shows this into for each match. Just click and hold on a match for
  132.   your system’s double–click time and the popup will appear.
  133.  —Got CW5 in the mail! Only had to make one change!
  134.  —Made full use of CW5’s new PPC optimization. Too bad I can’t tell the
  135.   difference. :/ (Somebody give me an 8100 or I’ll puke all over my code.)
  136.  —Started using temp memory for the search buffers if enough is available.
  137.  —Changed searchInFile’s inner loop to be more efficient.
  138.  —Made my own Munger function to handle both normal and case–ignored
  139.   searches, using a lookup table for case–ignored conversion. It’s 67%
  140.   faster than Munger normally and 54% faster than my use of Munger when
  141.   ignoring case. A full case–sensitive search of File Safari’s project
  142.   folder took an average of 4.1 seconds with Munger and an average of 2.8
  143.   seconds with myMunger. Now I don’t need two buffers for case–ignored
  144.   searches because I don’t have to copy an upper–case version of the buffer.
  145.  —Added Ignore Diacriticals option in Search Options popup menu. Be careful
  146.   when using the Hex Search button as the Ignore Case and Ignore
  147.   Diacriticals options *still* apply to your resulting hex string. E.g.:
  148.   Search String "0x61" ('a') will turn into "0x41" ('A') if Ignore Case is
  149.   turned on.
  150.  —When a search is started, disabled Hex Search button and changed Search
  151.   button to Stop so it’s more obvious that the search can be stopped.
  152.   Clicking the Stop button, hitting Return, Enter, Escape, or Command–.
  153.   all stop the search. Also disabled my menus and handled mouseDown’s in
  154.   menubar and drag region.
  155.  —I was comparing File Safari’s search results to that of Search Files when
  156.   I noticed FS found more matches than SF with the same options turned on.
  157.   So I thought it’d be nice to have a Save Results function so I could
  158.   compare FS’s to SF’s. This is now an item in the File menu. BTW, FS’s
  159.   and SF’s search times are almost identical in my tests. FS took 1 second
  160.   longer to search one of my hard drives with Ignore Case and TEXT Files
  161.   Only turned on.
  162.  —Found Search Files’ problem; it doesn’t find a match if the search string
  163.   is butted up against the end of the file. File Safari does this correctly.
  164.   Nyah. :) It also searches folders in a more intelligent manner.
  165.  
  166.  
  167. Changes in 1.0b4 — 94\12\28:
  168.   —Fixed bug where Resource Editor menu item string would contain
  169.    garbage until a rez editor was chosen.
  170.   —Fixed bug that would set the Resource Editor string to empty
  171.    if the user chose Choose resource editor… and clicked Cancel.
  172.   —Added a default TEXT File Editor that can be used to view all
  173.    TEXT files when double–clicked. It’s chosen like the Resource
  174.    Editor and has a menu item to turn on/off using it.
  175.   —Improved pref loading scheme so new prefs will be created if
  176.    they aren’t found, and old prefs that aren’t the current size
  177.    will be deleted and re–created.
  178.   —Changed all menu item strings to title case.
  179.   —The window is now dragable. Ooops. :)
  180.   —If the current Search Dir is one from the popup, and the user
  181.    deletes that item from the popup, the Add Current Search Dir
  182.    menu item is re–enabled.
  183.   —If the Option key is held while double–clicking on a match in
  184.    the results, the user’s TEXT editor will be used to open the
  185.    file, no matter what type the file is or which fork the match
  186.    was found in. This is a power user feature, and is especially
  187.    useful for people who have Really Cool App’s like MuffEdit that
  188.    can open *any* file’s data fork and also snoop in the rez fork.
  189.   —Got rid of desk scrap purging if the scrap was not TEXT data.
  190.    Stopped bad practice of doing ZeroScrap and TEToScrap when
  191.    switching to the background.
  192.  
  193.  
  194. Changes in 1.0b3 — 94\12\21:
  195.   —Added drag & drop of folders and disks to set the Search Dir.
  196.   —Added openDoc and quitApp Æ’s.
  197.   —Changed the name of the main window to File Safari.
  198.   —Fixed more Balloon Help.
  199.   —Fixed some incompatibilities with Norton Directory Assistance.
  200.    Hopefully this will fix the problems with SuperBoomerang too.
  201.    I don’t know why these companies can’t write stuff that doesn’t
  202.    interfere with standard Apple routines. If you’re gonna change
  203.    the current dir, then tell the goddamn hook that you did so!
  204.    I also found that, if a button has been added to a CustomGetFile
  205.    box, and you SetDialogDefaultItem on it while the standard Open
  206.    button is disabled, NDA doesn’t know about it, but instead sends
  207.    an itemHit message of 0x1000 + the char number. Bad, bad, bad
  208.    programming style not to call the standard ModalDialog filter
  209.    when you mess with dialog events.
  210.   —It was reported that no matches are found on a PPC, even though
  211.    it’s searching through the correct files. I have no idea why
  212.    this wouldn’t work, unless Munger doesn’t work correctly on PPC’s.
  213.    I changed the FSRead/Munger buffer pointer to a handle just to
  214.    see if that has anything to do with it, which I really doubt.
  215.   —Added version number to About box.
  216.   —Improved finding a double–clicked file’s creator, launching it,
  217.    bringing it to the front, and sending the openDoc Æ.
  218.   —Implemented the resource editor stuff.
  219.   —Correctly enabled Add Current Search Dir popup menu item and
  220.    Search button when a folder/volume is drag & dropped onto File
  221.    Safari in the Finder.
  222.  
  223.  
  224. Changes in 1.0b2 — 94\12\16:
  225.   —Added current file pathname to main window while searching.
  226.   —Added Matches item in dialog.
  227.   —Fixed some Balloon Help.
  228.   —Added check for System 7.
  229.   —Added check for B&W and put up the B&W version of the About PICT.
  230.   —Added call to smallEvent at the end of the searchInFile loop so
  231.    we don’t have to wait as long to abort.
  232.   —Added SystemTask to smallEvent so some other stuff could process.
  233.   —After a search has completed, select the Search String text.
  234.   —Set the cursor to arrow when suspend/resume event is received.
  235.   —When clicking on an item in the result list, the file name is
  236.    shown.
  237.   —Progress information is shown while finding a double–clicked–on
  238.    file’s creator and process or app, and sending the AEOpenDoc.
  239.   —Fixed it so when the result list is clicked past the end of the
  240.    last line, it selects the last line.
  241.   
  242.  
  243. 1.0b1 — 94\12\15?:
  244.   —Initial beta release.
  245.  
  246. */